1. Field of the Invention
Embodiments of the present invention generally relate to resource configuration management systems and, more particularly, to a method and apparatus for identifying an optimal configuration of a resource to improve a health of a computer using a health scoring technique.
2. Description of the Related Art
A variety of issues must be addressed to facilitate the execution of large and small scale software applications within any computing environment (e.g., a plurality of computing devices coupled to a server and/or a communication network). Some of the issues involve the configuration and/or utilization of various resources (e.g., software applications and hardware devices such as, networking components, server clusters (e.g., ORACLE server clusters, high availability server cluster and the like), storage devices, graphics cards, display devices, memory, processors and the like) associated with the computing environment.
Each resource within the computing environment is associated with several configuration parameters. Such configuration parameters describe the resource in terms of capacity, efficiency, density, bandwidth, throughput, organization and/or speed. For example, a storage device may be described as a hard disk drive with a capacity of fifty gigabytes, a media transfer rate of one gigabit per second and a rotation rate of five thousand revolutions per minute (rpm). As another example, the hard disk drive may form a portion of a Redundant Array of Independent Disks (RAID) configuration. As yet another example, the hard disk drive may be an enterprise storage device coupled to the computing environment through a Fibre Channel interface. The storage parameters need to be optimized to enable the system to operate in a healthy manner resulting in an improved system performance.
Often, the vender of a software package publishes recommendations or suggestions concerning ideal configurations of the various resources. For example, the software package may be accompanied with recommended resource requirements (e.g., an amount of available data storage space, a capacity of random access memory (RAM), a minimum processor speed, a network bandwidth capacity and the like). Such recommendations, however, are limited because the recommended configurations are ideal for the operations of the particular software package but not for the computing device as a whole. In other words, the recommended configurations do not account for the resource demands/requirements of other software packages currently installed on the computing device.
Furthermore, the recommended configurations are not optimal for a plurality of software applications in operation at or around the same time at the computing device. As a result, the plurality of software applications may drain any available resources, inhibit the utilization of the available resources by a critical software application (e.g., SYMANTEC NORTON anti-virus) and/or cause a significant drop in the performance of the computing device or system as a whole. Hence, the recommended configurations are limited because such configurations cannot be applied to achieve optimal performance and stability of the entire computing device.
Occasionally, system administrators manage configurations of the various resources of one or more client computers within a system (e.g., a server cluster). The system administrators desire to implement optimal configurations of the various resources for each client computer. However, this is a cumbersome task due to the amount of trial and error involved in testing different configurations to determine the most optimal or ideal configuration for the various resources. The system administrators must still experiment with several configurations before finding the configuration that is optimal or ideal for the entire computing device and not simply one software application. For example, the installation of one or more additional software packages often strains the available resources and may impact the health of the computing device. Hence, there is incredible difficulty in identifying ideal or optimal configurations of the various resources after the installation of additional software packages.
Therefore, there is a need in the art for a method and apparatus for identifying an optimal configuration of a resource to improve a health of a computer using a health scoring technique.